/**
 * 判断对象中是否包含该值
 * @param {*} obj 对象
 * @param {*} val 值
 * @returns {Boolean}
 */
function includes(obj, val) {
  if (obj) {
    // 1.若原型方法上存在 includes 则直接使用该方法判断
    if (obj.includes) {
      return obj.includes(val)
    }
    // 2.obj为对象且属性为本身拥有的属性，则判断该属性值是否与判断值相等
    for (let key in obj) {
      if (obj.hasOwnProperty(key)) {
        if (obj[key] === val) return true
      }
    }
  }
  return false
}

module.exports = includes

// console.log(includes([11], 22)) // false
// console.log(includes([11, 22], 22)) // true
// console.log(includes({ name: 22 }, 22)) // true
